<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>生成器函数声明与调用</title>
</head>
<body>
    <script>
        /**
        生成器函数时ES6提供的一种异步编程解决方案，语法行为与传统函数完全不同。
        异步编程，纯回调函数     node fs ajax  mongodb
        */
        //yield 算作函数代码的分割符
        function * gen() {
            console.log("hello generator");
            console.log(111);
            yield '一只没有耳朵';
            console.log(222);
            yield '一只没有尾巴';
            console.log(333);
            yield '真奇怪';
            console.log(444);
        }

        let iterator = gen();
        console.log(iterator);

        iterator.next();   //hello generator 111
        iterator.next(); //222
        iterator.next(); //333
        iterator.next(); //444

        //生成yield的值
        console.log(iterator.next);
        console.log(iterator.next);
        console.log(iterator.next);
        console.log(iterator.next);
    </script>
</body>
</html>